#ifndef __BSP_I2C1_H_
#define __BSP_I2C1_H_

#ifdef __cplusplus
extern "C"
{
#endif

#include "system.h"

/* export func */

void bsp_i2c1_init(void); //初始化IIC的IO口

void bsp_i2c1_start(void);       //发送IIC开始信号
void bsp_i2c1_stop(void);        //发送IIC停止信号
uint8_t bsp_i2c1_wait_ack(void); // IIC等待ACK信号
void bsp_i2c1_ack(void);         // IIC发送ACK信号
void bsp_i2c1_noack(void);       // IIC不发送ACK信号

void bsp_i2c1_write_byte(uint8_t txd);  // IIC发送一个字节
uint8_t bsp_i2c1_read_byte(void);       //读1个字节
uint8_t bsp_i2c1_read_byte_noack(void); //读1个字节，发送nACK
uint8_t bsp_i2c1_read_byte_ack(void);   //读1个字节，发送ACK

void bsp_i2c1_lock(void);
void bsp_i2c1_unlock(void);

#ifdef __cplusplus
}
#endif

#endif // __BSP_I2C1_H_
